home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
015a
/
qram.zip
/
QRAM.TEC
Wrap
Text File
|
1991-12-11
|
15KB
|
312 lines
ID:QR QRAM
Quarterdeck Technical Note #216
By: Michael Bolton
QRAM
====
What is QRAM?
Does QRAM turn exTENded memory into exPANded memory?
What do I need to run QRAM?
What can QRAM do for my system?
What is QRAM?
=============
QRAM is a suite of memory management utilities which add power to 80286,
8086, and 8088 PCs and compatibles in some of the same ways that
QEMM-386 adds power to 386 PCs, allowing you to liberate more of the
precious memory below 640K.
QRAM, on machines with appropriate memory management hardware --
Chips and Technologies Shadow RAM, or EMS 4.0 hardware AND
software, creates High RAM -- RAM placed at unused addresses
between 640K and 1MB. This allows you to load Terminate-and-Stay-
Resident programs (TSRs), device drivers, network drivers, DOS
resources (such as BUFFERS, FILES, FCBS, and drive specifiers)
and the like into High RAM -- RAM placed at unused addresses
between 640K and 1MB.
The VIDRAM program which comes as part of the QRAM package
allows you to "steal" a portion of memory from your EGA or VGA
video card and assign that memory to DOS, further increasing the
amount of conventional memory available to you when you are running
a program that does not need EGA or VGA graphics.
QEXT.SYS, an XMS driver, provides access to extended memory,
and to the HMA -- 64K of extra DOS memory for applications
that know how to use this specification.
The BUFFERS and FILES programs allow you to allocate
additional DOS buffers and file handles on the fly, after your
machine has booted -- and to load them into High RAM.
Other utilities for managing memory are included.
Finally, every copy of QRAM also comes with Manifest, the
award-winning memory analysis and reporting tool.
Most people are interested in QRAM for its abilities to load small DOS
programs, drivers, and resources into High RAM. However, the
bewildering array of memory management standards associated with the
8088 and 80286 architectures contributes to several common
misconceptions about what High RAM really is and how it is allocated.
This note will describe the hardware and software requirements for QRAM,
and will explain what you can expect QRAM to do for your system.
Does QRAM turn exTENded memory into exPANded memory?
=======================================================
No. QRAM DOES NOT turn exTENded memory into exPANded memory. In fact,
QRAM needs to find either an appropriate Shadow RAM chipset, or some
form of EMS 4.0 exPANded memory hardware with its own EMS 4.0 driver
already present, if QRAM is to load programs high. (What constitutes
appropriate is described below.) The 286 chip on its own does not have
the memory management features needed to make memory appear at addresses
where there is none. The 386 chip has these (and other extremely
sophisticated memory management) features built-in, but the 286 needs
assistance from extra hardware to do this.
Several programs, (often called "LIMulators") provide the ability to
store data in exTENded memory in such a way that, to software, the
exTENded memory looks like exPANded memory. QRAM IS NOT A PROGRAM OF
THIS TYPE.
Such programs (which are widely available, and free on many bulletin
board systems) have two important disadvantages. First, they cannot
create exPANded memory in which programs can be run, so they cannot be
used to load TSRs, device drivers, and network software outside of
conventional memory; nor are such expanded memory emulators useful to
DESQview for multitasking. Second, in order to provide the EMS page
frame, necessary for the emulation of EMS, they actually cost 64K (for
the EMS page frame), plus the overhead for their own code, all in
conventional memory -- which is an enormous penalty, presuming that your
goal is to liberate as much conventional memory as possible.
What do I need to run QRAM? What can QRAM do for my system?
============================================================
QRAM's features depend on several aspects of the configuration of your
machine, including its memory management hardware and software, and its
video hardware.
It is crucially important to understand that, on a 286 without memory
managment hardware, there is NO MEMORY between 640K and 1 MB -- even on
systems with one megabyte or more of memory installed. (Machines with
Shadow RAM constitute an exception to this; Shadow RAM is described
below.) The extended memory on your system is addressed not only above
640K, but above the 1MB line -- and is therefore outside of DOS's
address space. Extended memory is not useful to QRAM, nor is it useful
to any regular DOS program except as a place to store data. Only DOS
programs which have been specifically written to access extended memory
will be able to take advantage of it.
Machines with Shadow RAM
=========================
Shadow RAM is a way to increase the system's speed. System and video
BIOS (Basic Input/Output Services) ROMs are addressed 8 bits at a time,
and therefore are typically slower than 16- or 32-bit RAM. ROM
shadowing is accomplished by setting up a 384K region of memory
somewhere on the system, giving it addresses from 640K to 1MB, and
copying the code from system and video ROMs into this region. So far as
the processor is concerned, the ROMs are still at their usual addresses,
but since the ROM code is in faster RAM, performance is improved.
Typical systems use 32K of ROM for video, and 64K or less of ROM for the
system BIOS. Thus, most of this 384K region of memory, set aside for
ROM shadowing, is unused.
QRAM's LOADHI Features
======================
In order for QRAM to activate its LOADHI capabilites, it must find at
least one of the following things on your machine:
1) The Chips & Technologies NEAT, SCAT, PEAK, LEAP, or 386 Shadow RAM
chipsets; as described above, these chipsets have the ability to make
actual memory appear at addresses between 640K and 1MB when Shadow
RAM is enabled. Machines that are equipped with these chipsets may
display the words "NEAT", "SCAT", "PEAK" or "LEAP" at some time
during the boot process. Note that since Shadow RAM is implemented
in hardware on these types of systems, you do not need to have any
sort of software driver installed for QRAM to take advantage of your
system's Shadow RAM. It may be necessary for you to activate the
ShadowRAM in the CMOS setup, however; QRAM cannot do this.
2) An EEMS (two "E"s) or EMS 4.0 board with a software driver that
provides mappable EMS pages between 640K and 1MB in addition to the
EMS page frame. The software driver is installed in CONFIG.SYS, and
typically has the letters "EMM" somewhere in its filename. The EMS
driver must not only be able to provide exPANded memory; it must also
be capable of creating more than four mappable pages between 640K and
1MB, as the first four mappable pages are reserved for the EMS Page
Frame. A very few computers come with this sort of memory management
hardware already installed.
3) A 286 memory management unit, such as the All ChargeCard or the SOTA
Pop Card. Though not a complete implementation of the 386
architecture, these add-on devices provide memory management most
similar to that offered by the 386 architecture.
Note that items 2 and 3 involve some sort of add-on hardware, and that
software alone WILL NOT provide the hardware assist that the 286 or
lesser processors need for QRAM to create High RAM.
Manifest's Expanded / Pages screen will tell you if your hardware and
driver is currently providing mappable pages, as can the QTEST program
described below. Manifest's exPANded pages screen will look something like
this:
0n00 UUUU
1n00 UUUU
2n00 UUUU
3n00 UUUU
4n00 UUUU
5n00 UUUU
6n00 UUUU
7n00 UUUU
8n00 UUUU
9n00 UUUU
An00 UUUU <-
Bn00 ++UU <- Plus signs (+) anywhere in this
Cn00 UUFF <- range mean that QRAM can create
Dn00 FF++ <- High RAM -- 16K for each +
En00 ++++ <-
Fn00 UUUU
Note that this map tells you what is being currently provided. Your
hardware and software may be capable of creating more mappable pages;
consult the documentation for your board. Some switch or jumper
settings, or some command-line parameters on your board's device driver
may be able to provide you with more mappable pages.
If you have an EMS board that provides only four mappable pages, pages
that are reserved for the Page Frame, and designated above by the letter
"F", you may choose to disable your use of exPANded memory in exchange
for the 64K of High RAM that QRAM may be able to provide. This will
liberate more memory below 640K, but will curtail your access to
exPANded memory.
A further complication results from the fact that when IBM introduced
the PC-AT, the addresses from E000-EFFF were reserved for an expansion
of the system ROM. However, the system ROM was not expanded until the
advent of the PS/2. Unfortunately, the address space from E000-EFFF
remained unusable for any other purpose, and to retain 100%
compatibility with IBM, almost all clone makers followed the PC-AT's
example. There were very few manufacturers who were confident enough to
break this convention, and therefore the E000-EFFF range may not be
available on your machine. Since many computers render the E region
unusable for High RAM or EMS, many expanded memory boards also refrain
from allowing High RAM to be mapped into the E region. Your hardware
may permit you to do this.
VIDRAM
======
If you use a VGA or EGA display adapter, the VIDRAM program in the QRAM
package allows you to gain up to 96K of extra conventional memory, at
the cost of temporarily disabling EGA or VGA graphics. This is most
useful if you are running text-based programs (such as most popular
spreadsheets, databases, and word processors). The trade-off here is
that you give up the ability to use graphics while VIDRAM is activated,
but it can be toggled on and off with ease from the DOS prompt.
QEXT.SYS
========
QEXT is a driver that allows Quarterdeck's DESQview to load 64K of
itself into the first 64K of extended memory. QEXT is also an XMS
driver; that is, it manages extended memory in accordance with the HMA
and EMB aspects of the XMS specification to programs that know how to
use it. Extended memory disk caches and network drivers are often
capable of using XMS memory, as are Microsoft Windows 3.0. and other
applications. If you are currently using HIMEM.SYS, using QEXT instead
can help to increase the amount of conventional memory on your machine,
since QEXT can be loaded high by QRAM's LOADHI features. QEXT requires
extended memory to be installed on your machine, and to put it to use,
you must have DESQview or applications that use the XMS specification.
The DOS Resource Programs
=========================
In DOS versions 2 and 3, each disk buffer in CONFIG.SYS uses
approximately .5K of conventional memory. The same is true of DOS 5 if
you have chosen not to use DOS=HIGH. QRAM's BUFFERS.COM program allows
you to specify a single BUFFER in CONFIG.SYS, and specify more buffers
later, in AUTOEXEC.BAT. The benefit here is that these buffers, added
by BUFFERS.COM after CONFIG.SYS has run its course, may be loaded into
the High RAM that QRAM creates, resulting in substantial savings in
conventional memory.
Unlike DOS 2 and 3, BUFFERS are "brittle" in DOS 5. Only the last group
of BUFFERS loaded is used, with the preceding going to waste.
Due to the unusual structure of DOS buffers in DOS 4, BUFFERS.COM cannot
be used at all with DOS 4.
Users of large databases, or those in network environments, will
appreciate the QEMM FILES program, which allows you to add extra file
handles in AUTOEXEC.BAT or at the DOS prompt. Again, FILES can be
loaded into High RAM, resulting in more conventional memory
conservation. FCBS and LASTDRIVE can also be handled in a similar way.
MANIFEST
========
The award-winning Manifest program, included with every copy of QRAM,
works on any IBM-compatible PC. Manifest will tell you how your system
is configured and how your applications are using memory, and will even
give you hints on how to improve your configuration. Manifest's clear
and comprehensive manual will explain many things about memory,
including the varying specifications for memory use and how they work.
How can I tell how useful QRAM will be on MY system?
====================================================
Many users have never had to consider the difference between exTENded
and exPANded memory, and are unlikely to have determined the number of
mappable pages that their EMS hardware and software can provide between
640K and 1024K. To help with this process, Quarterdeck has provided a
mini-analysis program called QTEST. QTEST will examine your system and
will describe the extent of the benefits that QRAM can provide. QTEST
is available free from the Quarterdeck BBS (310-314-3227; 2400 and 9600
bps modem operation is supported). QTEST can also be found on
Compuserve and on many BBSs; on some BBSs, it may be found in compressed
files along with the Quarterdeck White Papers.
The Quarterdeck White Papers (of which this document is one example)
comprise technical notes, product information, and a QWHITE.COM, a
DESQview-specific file reader which can, when run under DESQview, search
White Papers for information, display, and print the technical notes for
you. You don't need DESQview to get benefits from the White Papers.
The notes therein can be read with any text editor, word processor, or
file reader that can display ASCII text. Many of these notes will help
to explain WHY DESQview is so beneficial, though! The White Papers also
contain files which explain various issues related to QRAM, and to
memory management in general; you may find these quite helpful.
Summary
=======
In short, the QRAM package is valuable for anyone who wants to get the
most out of an 80286, 8086, or 8088 machine, especially those with EMS
4.0 exPANded memory hardware or Chips & Technologies ShadowRAM
installed. If its system requirements are fulfilled, you will find that
QRAM can substantially increase the amount of your precious conventional
memory.
Copyright (C) 1991 by Quarterdeck Office Systems
* * * E N D O F F I L E * * *